package com.ruoyi.edu.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import java.util.List;
import com.ruoyi.edu.domain.Teacher;

/**
 * 论文对象 edu_paper
 *
 * @author sanda
 * @date 2025-03-10
 */
public class Paper extends BaseEntity
{
    private Long deptId;


    public Long getDeptId() {

        return deptId;

    }
    /** 提交时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date submitTime;

    public Date getSubmitTime() {
        return submitTime;
    }

    public void setSubmitTime(Date submitTime) {
        this.submitTime = submitTime;
    }


    public void setDeptId(Long deptId) {

        this.deptId = deptId;

    }
    private Long[] studentIds;

    public Long[] getStudentIds() {
        return studentIds;
    }

    public void setStudentIds(Long[] studentIds) {
        this.studentIds = studentIds;
    }
    private static final long serialVersionUID = 1L;
    /** 教师信息 */
    private Teacher teacher;

    public Teacher getTeacher() {
        return teacher;
    }

    public void setTeacher(Teacher teacher) {
        this.teacher = teacher;
    }
    /** 论文ID */
    private Long paperId;

    /** 名称 */
    @Excel(name = "名称")
    private String paperName;

    /** 类型 */
    @Excel(name = "类型")
    private String type;

    /** 出版物 */
    @Excel(name = "出版物")
    private String pulication;

    /** 时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date issueTime;

    /** 学生作者 */
    private List<EduStudent> students;

    /** 状态 */
    @Excel(name = "状态")
    private Integer status;

    public List<EduStudent> getStudents() {
        return students;
    }

    public void setStudents(List<EduStudent> students) {
        this.students = students;
    }


    /** 引用 */
    @Excel(name = "引用")
    private String citation;

    /** 教师作者 */
    @Excel(name = "教师作者")
    private Long teacherId;

    public void setPaperId(Long paperId)
    {
        this.paperId = paperId;
    }

    public Long getPaperId()
    {
        return paperId;
    }
    public void setPaperName(String paperName)
    {
        this.paperName = paperName;
    }

    public String getPaperName()
    {
        return paperName;
    }
    public void setType(String type)
    {
        this.type = type;
    }

    public String getType()
    {
        return type;
    }
    public void setPulication(String pulication)
    {
        this.pulication = pulication;
    }

    public String getPulication()
    {
        return pulication;
    }
    public void setIssueTime(Date issueTime)
    {
        this.issueTime = issueTime;
    }

    public Date getIssueTime()
    {
        return issueTime;
    }
    public void setCitation(String citation)
    {
        this.citation = citation;
    }

    public String getCitation()
    {
        return citation;
    }
    public void setTeacherId(Long teacherId)
    {
        this.teacherId = teacherId;
    }

    public Long getTeacherId()
    {
        return teacherId;
    }

    public void setStatus(Integer status)
    {
        this.status = status;
    }

    public Integer getStatus()
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("paperId", getPaperId())
                .append("paperName", getPaperName())
                .append("type", getType())
                .append("pulication", getPulication())
                .append("issueTime", getIssueTime())
                .append("citation", getCitation())
                .append("teacherId", getTeacherId())
                .append("status", getStatus())
                .toString();
    }
}